package au.com.acpfg.misc.spectra; import java.awt.Component; import java.awt.Dimension; import java.util.logging.Logger; import org.knime.core.data.DataColumnSpec; import org.knime.core.data.renderer.DefaultDataValueRenderer; /** * Displays the peak list as a list of m/z intensity pairs as a text box * * @author andrew.cassin * */ public class SpectraStringRenderer extends DefaultDataValueRenderer { @Override public boolean accepts(DataColumnSpec spec) { return (spec != null && spec.getType() == AbstractSpectraCell.TYPE); } @Override public String getDescription() { return "Peak List (text)"; } @Override public Dimension getPreferredSize() { return new Dimension(100,40); } @Override protected void setValue(final Object value) { if (value instanceof SpectralDataInterface) { SpectralDataInterface si = (SpectralDataInterface) value; //Logger.getAnonymousLogger().info("found peaks "+si.getNumPeaks()); // Here, we use a method designed for speed and memory efficiency. The string value // of the spectra is commonly used by other nodes which filter the data, so using this // method ensures calculations involving spectra proceed at maximum speed super.setValue("<html><pre>"+si.asString()); } else { super.setValue(value); } } }